Hallo, ich bräuchte mal Hilfe bei folgendem Problem :
Für mein eigentliches Problem ist es notwendig, dass alles in Spalte A steht. Dabei lade ich eine XML Datei mit folgendem Code ins Excel:
Sub XMLdateiEInfügen()
Dim nFileNum As Integer
Dim Pfad As String
Pfad = Application.GetOpenFilename()
nFileNum = FreeFile
Open Pfad For Input As nFileNum
Schreiben Input(LOF(nFileNum), nFileNum)
Close nFileNum
With ActiveSheet
.Paste .Range("A2")
End With
End Sub
Private Sub Schreiben(s)
Dim clp As New DataObject
With clp
.SetText s
.PutInClipboard
End With
End Sub
Nun funktioniert das ganze auch prima für einige XML Datein, bei anderen wiederum werden die Daten aus mir unklaren Gründen auf mehrere Spalten verteilt (etwa A-M) ,obwohl die XML-Datein äußerlich gleich aussehen. Dabei haben zwar die Daten weiterhin ihre eigene Zeile, aber sie stehen nun nicht mehr untereinander. Gibt es eine schnelle Möglichkeit | VBA Code alles wieder in Spalte A zu packen ? Es handelt sich etwa um 150 000 Zeilen. Der folgende Testcode macht zwar was er soll braucht aber einige Minuten.
Sub Sotieren()
Dim zelle As Range
Dim Sotierbereich As Range
Set Sotierbereich = Range("A1", "Z1000000")
For Each zelle In Sotierbereich
DoEvents
If Not zelle.Value = "" Then
Cells(zelle.Row, 1).Value = zelle.Value
Cells(zelle.Row, zelle.Column).Value = ""
End If
Next
End Sub
Hat da jemand eine Idee ?
Gruß Ferdi
|